package com.yuelao.yuelao_backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuelao.yuelao_backend.entity.UserMatch;

import java.util.List;

/**
 * 用户配对Service
 * 重构说明：从UserRelationship拆分出来，专门处理用户配对功能
 */
public interface UserMatchService extends IService<UserMatch> {

    /**
     * 创建配对记录
     * @param userId1 用户1
     * @param userId2 用户2
     * @param isSuperMatch 是否超级配对
     * @return 是否成功
     */
    boolean createMatch(Long userId1, Long userId2, boolean isSuperMatch);

    /**
     * 删除配对记录
     * @param userId1 用户1
     * @param userId2 用户2
     * @return 是否成功
     */
    boolean removeMatch(Long userId1, Long userId2);

    /**
     * 获取用户的所有配对
     * @param userId 用户ID
     * @return 配对列表
     */
    List<UserMatch> getUserMatches(Long userId);

    /**
     * 检查两个用户是否配对
     * @param userId1 用户1
     * @param userId2 用户2
     * @return 是否配对
     */
    boolean isMatched(Long userId1, Long userId2);

    /**
     * 获取今日新配对数量
     * @param userId 用户ID
     * @return 今日新配对数量
     */
    long getTodayNewMatchCount(Long userId);

    /**
     * 统计总配对数
     * @param userId 用户ID
     * @return 总配对数
     */
    long countTotalMatches(Long userId);

    /**
     * 统计超级配对数
     * @param userId 用户ID
     * @return 超级配对数
     */
    long countSuperMatches(Long userId);
}

